﻿
using System.Collections.Generic;
using System;
using System.Collections;
namespace SignInServices.Common
{
    
    public interface ISSOFederation
    {
        void CreateUser(string userName, string password, string eMail, bool isActive);
        void DeleteUser(string userName);
        bool UserExists(string userName);
        void UpdateUser(string userName, string password, string eMail, bool isActive);

        bool ChangePassword(string userName, string oldPaassword, string newPassword);
        PasswordResetResultType ResetPassword(string emailAddress);
        string RetrievePassword(string userName);

        IList<AuthenticatedUser> FindUsersByEmail(string EmailAddress);
        IList<AuthenticatedUser> FindUsersByName(string UserName);
        IList<AuthenticatedUser> GetUsers(int index, int count);
        
        int GetOnlineUsersCount();

        AuthenticatedUser GetUserByName(string userName);
        AuthenticatedUser GetUserByEmail(string emailAddress);
        AuthenticatedUser GetUserByID(int id);
        
        bool SignIn(string userName, string password);
        void SignOut(string userName);
        bool IsAuthenticated(string userName);
    }
}
